package com.share.ai.mcp.server.sse.config;

import com.share.ai.mcp.server.sse.service.OrderService;
import org.springframework.ai.tool.ToolCallback;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RegisterConfig {
    //ToolCallbackProvider 是工具回调的提供者
    @Bean
    public ToolCallbackProvider toolCallbackProvider(OrderService timeService) {
        MethodToolCallbackProvider build = MethodToolCallbackProvider.builder() //
                .toolObjects(timeService).build();
        return build;
    }

    //ToolCallback 代表一个可被 AI 模型调用的工具方法
    @Bean
    public ToolCallback[] toolCallbacks(ToolCallbackProvider toolCallbackProvider) {
        ToolCallback[] toolCallbacks = toolCallbackProvider.getToolCallbacks();
        return toolCallbacks;
    }
}
